package com.jlpay.open.jlpay.sdk.java.model.ledger.request;

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.jlpay.open.jlpay.sdk.java.model.ledger.LedgerBaseRequest;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 *
 * @author dengwenning
 * @since 2024/8/30
 **/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class MerchRevBindRequest extends LedgerBaseRequest {

    /**
     * 商户号
     * 嘉联分配的商户号（出账方），
     * 示例值：849440358120001
     */
    private String mchId;

    /**
     * 分账接收方商户号
     * 分账接收方商户号，
     * 示例值：849440358250608
     */
    private String revMchId;

    /**
     * 回调通知地址
     * 绑定结果通知的回调地址
     */
    private String notifyUrl;

    /**
     * 附件信息
     * 出账方与分账接收方之间的分账业务合作协议（无模版），
     * 例：连锁品牌，加盟客户，供应链上下游等场景客户，提供商户与合作方之间签署的业务合作协议，内容明确约定业务分账比例，附件图片形式最多20张，
     * 示例值：["p/1.png", "p/2.png"]
     */
    private List<String> sourceIds;

    @Override
    public String path() {
        return "/open/ledger/merch/rev/bind";
    }

}
